1. The Field of the Invention
The present invention relates to systems and methods for processing and distributing spectrographic pulse data, and more particularly, to a multi-channel analyzer for conveniently acquiring, processing, and distributing spectrographic pulse data over a computer network.
2. The Relevant Technology
Radioactive materials are unstable and emit radiation in the form of alpha, beta, gamma, or X-rays. Many different types of radiation detectors have been designed and manufactured to produce data corresponding to radiation emitted by radioactive materials.
One type of radiation detector is a pulse-mode detector, in which a separate electrical pulse is generated for each individual radiation quantum (e.g., a gamma ray) that interacts with a detector. A high-purity germanium detector, which is often cooled by liquid nitrogen, is one example of a pulse-mode detector. By way of example, a gamma ray interacts with a detector surface coupled to a cathode and an anode. A portion of the energy of the gamma ray may be deposited on the detector to produce a charge. From the point of interaction, freed electrons drift towards the anode and ions (or holes) drift towards the cathode. A signal relating to the produced charge is often captured and manipulated by charge-sensitive preamplifiers and shaping amplifiers, resulting in a voltage pulse. The peak amplitude of such a voltage pulse is proportional to the energy deposited on a detector by a gamma ray.
Analog-to-digital converters (ADCs) are frequently employed to generate a digital number indicating the height, or the amplitude, of each voltage pulse. Such digital pulse data may be gathered and analyzed to learn more about the corresponding radioactive material. For example, the digitized pulse data may be categorized into channels, each channel indicating a specific energy level range into which the amplitude of the pulse falls. Energy levels are often measured in kiloelectron volts (KeVs). Devices that analyze multiple channels of pulse data are called multi-channel analyzers. Pulse data is often displayed on a chart showing the number of pulses (or counts) that the detector receives at a specific energy level range.
These charts frequently show a series of consecutive energy level ranges and a number of counts received in each range. By analyzing count patterns created thereby, experts in the field may make determinations regarding the corresponding radioactive material. Such determinations may be made by automated analysis algorithms, a visual inspection, or a combination of the two. The count patterns may reveal thickness, age, density, presence, or other characteristics of a corresponding radioactive material.
This technology is useful in a number of different fields. For example, national security requires detection and analysis of illegally transported or used radioactive materials. The food industry may monitor the radiation levels of irradiated food, such as meat, fruit, or vegetable products that have been subjected to low doses of gamma or X-rays to control food borne pathogens. Plainly, the nuclear power industry is also interested in monitoring radiation levels in and around nuclear power plants or nuclear waste disposal sites to prevent human, animal, or environmental exposure to radiation. For the same reasons, environmentalists and consumer-health advocates are similarly concerned about detecting radioactive materials.
Radioactive materials frequently produce pulses (e.g., gamma rays) at very high rates, often in excess of 10,000 pulses per second. Capturing each pulse, or a large percentage of the pulses, may be important in analyzing the corresponding radioactive material. If a large number of pulses have been missed, the corresponding pulse height data may be misleading and could lead to a failure to recognize or correctly identify a radioactive substance. These errors could produce serious adverse consequences, resulting in breaches in national security, contaminated food, or human exposure to radioactive substances.
In order to achieve high pulse capture rates and low probability of missed pulses, dedicated hardware devices were developed and coupled with special-purpose control software running on application-specific operating system software. Experts in the field have long believed that a general-purpose operating system could not respond quickly enough to capture spectrographic pulse data at a high rate. Moreover, because of the extensive demands placed on these devices in gathering the pulse data, many such devices are not configured to perform other important tasks, such as processing and distributing pulse data. As such, conventional pulse data gathering systems provide proprietary software and a closed architecture that preclude cross-communications and operation in environments other than the proprietary environment.
As a consequence, interacting with and customizing such systems is extremely difficult. Proprietary communication protocols and formats are often employed, making it difficult or impossible to interact with these systems employing techniques, communication protocols and data formats used by general-purpose operating systems. Thus, interfacing with conventional systems creates substantial obstacles to distribution of the spectrographic pulse data through conventional techniques or protocols on a computer network. For example, conventional systems simply do not interface with UNIX or Macintosh systems. In addition, because conventional systems are proprietary, it is difficult or impossible for the user to customize such systems in accordance with the user""s needs and wants.
Accordingly, a need exists for a multi-channel analyzer operating in conjunction with a general-purpose operating system that is capable of capturing rapidly produced spectrographic pulse data. A need additionally exists for a multi-channel analyzer that is configured such that standard network communication protocols and data formats used by general-purpose operating systems may be employed to access and distribute the spectrographic pulse data over a computer network. Moreover, it would be an advancement in the art to provide a multi-channel analyzer that is conveniently customizable by the end user. It would be a further advancement to provide a multi-channel analyzer that may be customized from remote locations.
The present invention provides a Web-based multichannel analyzer (MCA) for conveniently processing and distributing spectrographic pulse data over a computer network. A Web-based MCA, in one embodiment, includes a standard single board computer, having memory and a processor and running an embedded general-purpose operating system, with added hardware to provide an interface to an external analog-to-digital converter (ADC). The Web-based MCA may further comprise software and hardware for interfacing with a network, such as the Internet. A general-purpose operating system enables convenient interaction with the Web-based MCA employing non-proprietary communication protocols and data formats.
In one embodiment, the Web-based MCA receives, or acquires, digitized pulse data through an input/output (I/O) card from an ADC. In one implementation, the ADC is integrated with a main board of the Web-based MCA and, thus, the Web-based MCA may directly receive and process analog pulse data.
One embodiment of this invention involves a kernel device driver for receiving and temporarily storing digitized pulse data received from the I/O card. The kernel device driver resides at the operating system""s kernel level as a loadable kernel module. Thus, the kernel-level device driver is integrated with the operating system. The kernel device driver may be integrated with the general-purpose operating system. With an open-source operating system a user may customize the kernel-level module.
In one embodiment, the kernel-level module is capable of acquiring digitized pulse data for at least 10,000 pulses per second so that accurate spectrographic data may be obtained. To achieve this acquisition rate, the acquiring software module operates on the kernel-level. Programs operating in the user-space of an operating system are slower to respond to incoming signals. User-space programs are not integrated with the operating system, but instead are separate computer programs that run on an operating system and are subject to constraints imposed by the operating system. Thus, the operating system acts as an intermediary between user-space programs and corresponding computer hardware. Moreover, unless the operating system is open-source, the end-user would not have the legal right, and potentially the ability, to access and manipulate the source code so that a kernel-level module can be customized.
The kernel-level module may operate on an interrupt driven basis. That is to say, the Web-based MCA may perform other tasks (e.g., analyzing or distributing previously received spectrographic pulse data) until the kernel-level module receives a message indicating that the ADC has digitized pulse data. Upon receipt of the message, the processor of the Web-based MCA acknowledges the interrupt and executes the kernel level module code while other tasks are placed on hold. Receipt and processing of digitized pulse data is given priority, thus enabling the Web-based MCA to receive digitized pulse data at a high rate and yet still perform other tasks related to the analysis and distribution of spectrographic pulse data.
Moreover, the kernel-level module provides a buffer for temporarily storing digitized pulse data until other programs request the data. In one embodiment, the buffer may be dynamically sized so that digitized pulse data will not be lost or xe2x80x9cdroppedxe2x80x9d during this interim period.
The kernel module further provides an interface to a user-space program so that digitized pulse data may be read and manipulated by a user-space program. In one embodiment, the kernel-level module provides a standard interface to user-space programs, enabling the user-space programs to be easily developed and implemented employing the digitized spectrographic pulse data produced by the kernel-level module. Thus, the Web-based MCA is easily customizable by an end-user, even from a remote location. A user-space program may categorize the digitized pulse data into channels (energy levels). The user-space program may further provide high-level controls enabling a user to customize and receive the categorized pulse data. In one embodiment, the user-space program may receive user-specified controls pertaining to gathering and distribution of spectrographic pulse data. The user-specified controls may control each aspect of the Web-based MCA. For example, the user-specified controls may dictate the rudimentary aspects of the MCA, including memory range control (number of channels), start and stop collect, clear data, and the like. Most importantly, the MCA accepts network socket connections and thus can be controlled by standard applications, such as Telnet. Employing these conventional, non-proprietary protocols, each aspect of the Web-based MCA is customizable by an end-user.
The user-space program may also format the categorized pulse data. In one embodiment, the categorized pulse data may be arranged into a non-proprietary format. One example of a non-proprietary format is Hypertext markup language (HTML), which language is frequently used in connection with Web pages on the World Wide Web. Non-proprietary formats are data formats or configurations that are not owned, controlled, or exclusively used by a particular entity or group of entities. In other words, the data may be accessed employing tools produced by multiple manufacturers. Such a system offers a number of advantages. For example, it is easier to distribute the data because recipients will often already have tools to view the information. Also, because one manufacturer is not the sole provider of the tools, costs are generally lower. Furthermore, existing networks, such as the Internet, may be employed to distribute information.
In one embodiment, the user-space program may also format the categorized pulse data into a visual indication thereof. The visual indication may comprise, for example, a static image of a chart having two axes and at least one point. One axis indicating a plurality of energy levels, and the other axis indicating a plurality of counts. Each point indicates the count (number of pulses) received at a specific energy level range. The visual indication may be formatted into a non-proprietary graphical file format, such as .png or .jpg graphical file.
A network adapter couples the Web-based MCA to a network, such as the Internet. The Web-based MCA may further comprise an e-mail agent, File Transfer Protocol (FTP) server, or Web server. Thus, after formatting, the user-space program may transmit the categorized pulse data to a network. In one embodiment, transmission may occur via non-proprietary transmission protocols. Non-proprietary transmission protocols are transmission protocols that are not owned, controlled, or exclusively used by a particular entity or group of entities. Thus, with the Web-based MCA, transmission may be effectuated by placing the categorized pulse data on a Web or File Transfer Protocol (FTP) server (either internal or external to the Web-based MCA), thus permitting transmission of the data employing a FTP or hypertext transfer protocol (HTTP). Spectrographic pulse data may also be transmitted with an e-mail message employing the e-mail agent. Again, the present invention represents a significant advancement in the art in that pulse data may be easily distributed among a number of different systems.
Thus, a conventional computer (i.e., having a processor, memory, and hardware and software for accessing the network) may be coupled to the network and access the categorized pulse data produced by the Web-based MCA. In one embodiment, a conventional Web browser may be employed to view categorized pulse data generated by the MCA. The Web-based MCA may further stream the pulse data through a transmission control protocol/internet protocol (TCP/IP), the networking protocol employed by the Internet, connection in real-time to such a conventional computer.
Also, a computer coupled to the network may generate and deliver the user-specified controls to be Web-based MCA. In one embodiment, the Web-based MCA may be controlled by a computer coupled to the network through a Telnet connection. Moreover, the Web server of the Web-based MCA may be configured with a common Gateway Interface (CGI) Gateway, enabling the end-user to employ a wide variety of scripts (e.g., C, PERL, Java, or HTML scripts) or applets (e.g., Java applets) to customize processing and delivery of the categorized pulse data.
Thus, the Web-based MCA provides a multi-channel analyzer operating in conjunction with a general-purpose operating system such that conventional means of interfacing with computer systems over a network may be employed to access, manipulate, and distribute the spectrographic pulse data. Moreover, the present invention is customizable by the end user from even remote locations.
The features and advantages of the present invention will become more fully apparent from the following description and appended claims, or may be learned by the practice of the invention as set forth hereinafter.